package pl.PawelAndAlicja.badugiproject.main;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class ser extends Thread
{

    public static void main(String[] args) throws Exception{  // zaczynamy tworzyć serwer
        System.out.println("Uruchomiono serwer.");
        int nrPolaczenie = 0;
        ServerSocket listener = new ServerSocket(345);
        try
        {
            while (true)
            {
                nrPolaczenie++;
                ser p = new ser(listener.accept(), nrPolaczenie);
                p.start();
            }
        }
        finally
        {
            listener.close();
        }
    }

    private Socket socket;
    private int nrPolaczenie;
    String line = "";

    public ser(Socket socket, int nrPolaczenie){
        this.socket = socket;
        this.nrPolaczenie = nrPolaczenie;
        System.out.println("Nowe polaczenie id: " + nrPolaczenie);
    }

    public void run(){

        try{
            BufferedReader in = new BufferedReader( new InputStreamReader(socket.getInputStream()));
            PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
            System.out.println("nr: " + nrPolaczenie + ".");

            while(line != null){

                line = in.readLine();
                String kartyGracza1 ="",kartyGracza2="",kartyGracza3="",kartyGracza4="", rozdane="";

                stol talia = new stol();
                rozdane = talia.rozdaj(3,0);
                int i=1, j=1, licznik=0;

                kartyGracza1= rozdane.substring(0,13); // ta metoda NIE działa, bo czasem karty mają dwa znaki (np. Dd) a czasami trzy (np. 10d), trzeba podzielić ze względu na " "
                kartyGracza2= rozdane.substring(13,25);
                System.out.println(rozdane);

                //System.out.println(kartyGracza1);
                out.println(kartyGracza1);
                out.println(kartyGracza2);

                System.out.println(" wykonano zadanie! ");


            }
            try{
                in.close();
                out.close();
                //listener.close();
                socket.close();
            }
            catch (IOException e){
                System.out.println("Could not close."); System.exit(-1);
            }
        }

        catch (IOException e){
            System.out.println("Error ");
        }

    }

}

